﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Negocio;
using System.Data.SqlClient;
using System.Data;
using Negocio.AccesoDatos;
using Negocio.Entidades;

namespace Negocio.Gestores
{
    public class GestorPremios
    {
        public static Premio grabarPremio(Premio p)
        {
            try
            {
                PremioDAO pre = new PremioDAO();
                pre.grabarPremio(p);
                return p;
            }
            catch (Exception ex)
            {
                throw new ApplicationException(ex.Message.ToString());
                throw;
            }
            
        }

        public static List<Premio> ObtenerTodos()
        {
            List<Premio> listPremio = new List<Premio>();
            
            PremioDAO pe = new PremioDAO();
            SqlDataReader pre =null;
            pre = pe.grilla();
            Premio p;
            if (pre != null)
            {
                while (pre.Read())
                {
                    //p = new Premio(
                    //    int.Parse(pre["id_premio"].ToString()),
                    //    pre["nombre"].ToString(),
                    //    pre["descripcion"].ToString(),                       
                    //    (DateTime)pre["fecha_compra"],
                    //    double.Parse(pre["precio_compra"].ToString()),
                    //    bool.Parse(pre["activo"].ToString()),
                    //    int.Parse(pre["id_proveedor"].ToString()));
                    p = new Premio();
                    p.id_premio = int.Parse(pre["id_premio"].ToString());
                    p.nombre = pre["nombre"].ToString();
                    p.descripcion = pre["descripcion"].ToString();
                    p.fecha_compra = (DateTime.Parse(pre["fecha_compra"].ToString())).Date.ToShortDateString();
                    p.precio = double.Parse(pre["precio_compra"].ToString());
                    p.activo = bool.Parse(pre["activo"].ToString());
                    Console.WriteLine(pre["id_proveedor"].ToString());
                    Console.ReadLine();
                    if (pre["id_proveedor"] == DBNull.Value)
                    {
                        p.proveedor = 0;
                    }
                    else
                    {
                        p.proveedor = int.Parse(pre["id_proveedor"].ToString());
                    }
                    

                    //p.nombre=pre["Nombre"].ToString();
                    //p.descripcion=pre["Descripcion"].ToString();
                    //p.fecha_compra = (DateTime)pre["Fecha De Compra"];
                    //p.precio=double.Parse(pre["Precio De Compra"].ToString());
                    listPremio.Add(p);
                }
            }
            
            return listPremio;
        }

        public void eliminar(int id)
        {
            try
            {
                PremioDAO pre = new PremioDAO();
                pre.eliminar(id);
            }
            catch (Exception ex)
            {
                throw new ApplicationException(ex.Message.ToString());
            }
 
        }

        public static Premio ObtenerTodosDDL(int id_premio)
        {
            PremioDAO pe = new PremioDAO();
            SqlDataReader pre = null;
            pre = pe.DDL(id_premio);
            Premio p = new Premio();
            if (pre != null)
            {
                while (pre.Read())
                {                    
                    p.id_premio = int.Parse(pre["id_premio"].ToString());
                    p.nombre = pre["nombre"].ToString();
                    p.descripcion = pre["descripcion"].ToString();
                    p.fecha_compra = (DateTime.Parse(pre["fecha_compra"].ToString())).Date.ToShortDateString();
                    p.precio = double.Parse(pre["precio_compra"].ToString());
                    p.activo = bool.Parse(pre["activo"].ToString());
                    Console.WriteLine(pre["id_proveedor"].ToString());
                    Console.ReadLine();
                    if (pre["id_proveedor"] == DBNull.Value)
                    {
                        p.proveedor = 0;
                    }
                    else
                    {
                        p.proveedor = int.Parse(pre["id_proveedor"].ToString());
                    }
                    
                }
            }

            return p;
        }
    }
}